package com.fafica.dao;

import java.util.List;

import com.fafica.entidades.InscritoMinicurso;

public class InscritoMinicursoDAO extends GenericDAO<InscritoMinicurso>{

	public InscritoMinicursoDAO() {
		super(InscritoMinicurso.class);
	}

	public InscritoMinicurso logar(String email, String cpf) {
		InscritoMinicurso retorno = null;
		List<InscritoMinicurso> lista = buscarPorLikeIlimitado(new String [] {"email", "cpf"},  new String [] {email, cpf});
		if(lista != null && !lista.isEmpty()){
			retorno = lista.get(0);
		}
		return retorno;
	}
	
	public boolean existeEmailCpf(String email, String cpf){
		
		List<InscritoMinicurso> lista1 = buscarPorLike("email", email);
		List<InscritoMinicurso> lista2 = buscarPorLike("cpf", cpf);
		if(lista1.isEmpty() && lista2.isEmpty()){
			return false;
		}
		else{
			return true;
		}
	}
	
	public boolean existeMatricula(String matricula){
		List<InscritoMinicurso> lista = buscarPorLike("instituicao", matricula);
		if(lista.isEmpty()){
			return false;
		}else{
			return true;
		}
	}
	
	public boolean inserirUsuario(InscritoMinicurso usuario){
		return mesclarObjeto(usuario);
	}
	
	public boolean atualizarUsuario(InscritoMinicurso usuario){
		return atualizarObjeto(usuario);
	}
	
	public boolean removerUsuario(InscritoMinicurso ususario){
		return deletarObjeto(ususario);
	}
	
	public List<InscritoMinicurso> listarUsuarios(){
		return listarObjetos();
	}
	
	public List<InscritoMinicurso> listarPorInscrito(Long idInscrito){
		return criarQuery("FROM inscrito_minicurso WHERE id_inscrito = " + String.valueOf(idInscrito));
	}
	
	public List<InscritoMinicurso> listarPorMinicurso1(Long idMinicurso){
		return criarQuery("FROM inscrito_minicurso WHERE id_minicurso_1 = " + String.valueOf(idMinicurso));
	}
	
	public List<InscritoMinicurso> listarPorMinicurso2(Long idMinicurso){
		return criarQuery("FROM inscrito_minicurso WHERE id_minicurso_2 = " + String.valueOf(idMinicurso));
	}
	
	public InscritoMinicurso buscarPorCpf(String cpf){
		return buscarPorChaveUnicaString(cpf, "cpf");
	}
}
